package model

import "time"

type ChatHistory struct {
	Id         uint      `gorm:"column:id;type:bigint(20) UNSIGNED;primaryKey;not null;" json:"id"`
	FromUserId uint      `gorm:"column:from_user_id;type:bigint(20) UNSIGNED;comment:发送userId;not null;default:0;" json:"from_user_id"`    // 发送userId
	ToUserId   uint      `gorm:"column:to_user_id;type:bigint(20) UNSIGNED;comment:接收userid;not null;default:0;" json:"to_user_id"`        // 接收userid
	Content    string    `gorm:"column:content;type:varchar(255);comment:发送内容;not null;" json:"content"`                                   // 发送内容
	CType      uint      `gorm:"column:c_type;type:int(10) UNSIGNED;comment:内容类型: 1:文本 2:图片 3:视频;not null;" json:"c_type"`                 // 内容类型: 1:文本 2:图片 3:视频
	RoomId     uint      `gorm:"column:room_id;type:bigint(20) UNSIGNED;comment:群id;not null;default:0;" json:"room_id"`                   // 群id
	CreatedAt  time.Time `gorm:"column:created_at;type:datetime(3);comment:创建时间;not null;default:CURRENT_TIMESTAMP(3);" json:"created_at"` // 创建时间
}

func (c *ChatHistory) TableName() string {
	return "chat_history"
}

func (c *ChatHistory) GenRoomId() {
	min := c.FromUserId
	max := c.ToUserId
	if max < min {
		min = c.ToUserId
		max = c.FromUserId
	}

	c.RoomId = min*1000000 + max

}
